home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 2003 June / macformat-130.iso / mac / Reviewed⁄Demos / Spearhead Demo / demota / pak1.pk3 / anim / cornerright.scr < prev    next >
Encoding:
Text File  |  2002-10-21  |  5.5 KB  |  220 lines

  1. //-----
  2. // Cornerright.scr
  3. //-----
  4. // Script for right corner combat
  5.  
  6. //println "cornerright.scr called"
  7.  
  8. CornerrightStart:
  9.     waitexec anim/reload.scr::ReloadInit
  10.     local.canseetarget = 0
  11.  
  12.     //save our current position
  13.     local.curpos = self.origin
  14.  
  15.     self setmotionanim (self.weapongroup + "_wall_alert_right")
  16.     wait 0.25
  17.     //self waittill flaggedanimdone
  18.     //local.randnum = randomint 2
  19.     //wait local.randnum
  20.  
  21. Cornerright:
  22.     waitexec anim/smoking.scr::SmokeRemoveCigarette
  23.     self.painhandler = anim/cornerright.scr::cornerrightpain
  24.     self.deathhandler = anim/cornerright.scr::cornerrightdeath
  25.     self.blendtime = 0.25
  26.  
  27.  
  28.     // Taunt the enemy
  29.     local.randnum = randomint 100
  30.     if (local.randnum<50)
  31.     {
  32.         //println "taunting from behind a right corner"
  33.         self exec anim/say_taunt.scr
  34.     }
  35.  
  36.     //local.randnum = (randomint 2) + 1
  37.     //wait local.randnum
  38.  
  39.     self.origin = local.curpos
  40.  
  41.     self.painhandler = anim/cornerright.scr::cornerrightshootpain
  42.     local.randnum = randomint 100
  43.     if (local.randnum<50 && local.canseetarget > 0)
  44.         {
  45.         switch (self.weapongroup)
  46.             {
  47.             case mp40:
  48.             case mp44:
  49.                 if (self.roundsinclip > 0)
  50.                     {
  51.                     //unload the whole clip to the target
  52.                     self setmotionanim (self.weapongroup + "_wall_blindfire_right_intro")
  53.                     self waittill flaggedanimdone
  54.                     local.canseetarget = self canshoot self.enemy
  55.  
  56.                     while (self.roundsinclip > 0 && local.canseetarget > 0)
  57.                         {
  58.                         self.origin = local.curpos
  59.                         self setmotionanim (self.weapongroup + "_wall_blindfire_right")
  60.                         self waittill flaggedanimdone
  61.                         self.roundsinclip = self.roundsinclip - 4
  62.                         local.canseetarget = self canshoot self.enemy
  63.                         }
  64.                     self.origin = local.curpos
  65.                     self setmotionanim (self.weapongroup + "_wall_blindfire_right_outtro")
  66.                     self waittill flaggedanimdone
  67.                     self.origin = local.curpos
  68.                     waitexec anim/reload.scr::Reload 1 0
  69.                     }
  70.                     else
  71.                     {
  72.                     self.origin = local.curpos
  73.                     waitexec anim/reload.scr::Reload 1 0
  74.                     }
  75.                 break
  76.             default:
  77.                 self setmotionanim (self.weapongroup + "_wall_blindfire_right")
  78.                 switch (self.weapongroup)
  79.                     {
  80.                     rifle:
  81.                     bar:
  82.                     thompson:
  83.                         wait 0.42
  84.                         break
  85.  
  86.                     pistol:
  87.                         wait 0.20
  88.                         break
  89.                     default:
  90.                         wait 0.40
  91.                         break
  92.                     }
  93.  
  94.                 local.canseetarget = self canshoot self.enemy
  95.  
  96.                 if (local.canseetarget <= 0)
  97.                     {
  98.                     self setmotionanim (self.weapongroup + "_wall_alert_right")
  99.                     wait 0.25
  100.                     }
  101.                 else
  102.                     {
  103.                     self waittill flaggedanimdone
  104.                     }
  105.                 self.origin = local.curpos
  106.                 waitexec anim/reload.scr::Reload 1 0
  107.                 break
  108.             }
  109.         }
  110.     else
  111.         {
  112.         self setmotionanim (self.weapongroup + "_wall_right_shoot_intro")
  113.         self waittill flaggedanimdone
  114.         local.canseetarget = 0
  115.         if (self.enemy)
  116.             {
  117.             //local.canseetarget = self cansee self.enemy
  118.             local.canseetarget = self canshoot self.enemy
  119.             }
  120.  
  121.         if (local.canseetarget <=0)
  122.         {
  123.             // JBW, timeout is to stop waiting and exit corner behavior (will return on sight)
  124.             local.timeout = level.time + (3 + randomfloat(3) );
  125.             //wait 'till we see the target and stagger the sight checks
  126.             while (local.canseetarget <=0)
  127.             {
  128.                 wait ( 0.5 + randomfloat(0.5) );
  129.                 //local.canseetarget = self cansee self.enemy
  130.                 local.canseetarget = self canshoot self.enemy;
  131. //                println ("timeout- " + (local . timeout - level.time) );
  132.                 if ( level.time > local.timeout )
  133.                     self  breakspecial;
  134.             }
  135.         }
  136.  
  137.  
  138.         switch (self.weapon)
  139.             {
  140.             case "springfield '03 sniper":
  141.             case "mauser kar 98k":
  142.             case "mauser kar 98d sniper":
  143.                 self setmotionanim (self.weapongroup + "_wall_right_shoot")
  144.                 self waittill flaggedanimdone
  145.                 local.canseetarget = self canshoot self.enemy
  146.                 break
  147.             default:
  148.                 while (self.roundsinclip > 0)
  149.                     {
  150.                     //self.origin = local.curpos
  151.                     self setmotionanim (self.weapongroup + "_wall_right_shoot")
  152.                     self waittill flaggedanimdone
  153.                     //self.roundsinclip = self.roundsinclip - 4
  154.                     //self.origin = local.curpos
  155.                     waitexec anim/Reload.scr::CheckForCornerReload
  156.                     //local.canseetarget = self cansee self.enemy
  157.                     local.canseetarget = self canshoot self.enemy
  158.                     if (local.canseetarget <= 0)
  159.                         {
  160.                         break
  161.                         }
  162.                     }
  163.                 break
  164.             }
  165.  
  166.         self setmotionanim (self.weapongroup + "_wall_right_shoot_outro")
  167.         self waittill flaggedanimdone
  168.         self.origin = local.curpos
  169.         waitexec anim/reload.scr::Reload 1 0
  170.         }
  171.  
  172.     self.origin = local.curpos
  173.  
  174.     self.painhandler = anim/cornerright.scr::cornerrightpain
  175.  
  176.     //local.randnum = randomint 100
  177.     //if (local.randnum<5)
  178.     if (local.canseetarget <= 0)
  179.         {
  180.         self setmotionanim (self.weapongroup + "_wall_peek_right")
  181.         wait 1.20
  182.         if (self.enemy)
  183.             {
  184.             //local.test = self cansee self.enemy
  185.             local.test = self canshoot self.enemy
  186.             }
  187.  
  188.         self waittill flaggedanimdone
  189.         }
  190.  
  191.  
  192.     //
  193.     goto Cornerright
  194.  
  195. end
  196.  
  197.  
  198. cornerrightpain:
  199.     waitexec anim/smoking.scr::SmokeRemoveCigarette
  200.     local.curpos = self.origin
  201.     self setmotionanim (self.weapongroup + "_wall_pain_right")
  202.     self waittill flaggedanimdone
  203.     self.origin = local.curpos
  204. end
  205.  
  206. cornerrightshootpain:
  207.     waitexec anim/smoking.scr::SmokeRemoveCigarette
  208.     local.curpos = self.origin
  209.     self setmotionanim (self.weapongroup + "_wall_shoot_pain_right")
  210.     self waittill flaggedanimdone
  211.     self.origin = local.curpos
  212. end
  213.  
  214. cornerrightdeath:
  215.     waitexec anim/smoking.scr::SmokeRemoveCigarette
  216.     self setmotionanim ("rifle_wall_death_right")
  217.     self waittill flaggedanimdone
  218.     self.position="dead"
  219. end
  220.